package com.zfast.forge.pojo.dto;

import com.zfast.config.valid.Create;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;


/**
 * 主观性技能
 *
 * @author zgn
 * @email
 * @date 2024-02-06 13:48:47
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "bad_magic")
@ApiModel(value = "Magic", description = "主观性技能:主动选择学习")
public class Magic implements Serializable{
    private static final long serialVersionUID=1L;

    @Id
    @Column(name = "id")
    @ApiModelProperty("主键")
    @NotNull(message = "主键不可为空", groups = {Create.class})
    private String id;

    @Column(name = "name")
    @ApiModelProperty("技能名称")
    private String name;

    @Column(name = "code")
    @ApiModelProperty("编码")
    private String code;

    @Column(name = "type_id")
    @ApiModelProperty("技能分类主键")
    private String typeId;

    @Column(name = "del_flag")
    @ApiModelProperty("删除标志0-正常,1-已删除")
    private Boolean delFlag;

    @Column(name = "appointed")
    @ApiModelProperty("专属标志0-通用,1-专属")
    private Boolean appointed;

    @Column(name = "pid")
    @ApiModelProperty("父级节点")
    private String pid;

    @Column(name = "has_child")
    @ApiModelProperty("是否有子节点")
    private Boolean hasChild;

    @Column(name = "sort_order")
    @ApiModelProperty("排序值")
    private Integer sortOrder;

    @Column(name = "magic_code")
    @ApiModelProperty("技能业务代码")
    private String magicCode;

    @Transient
    @ApiModelProperty("模糊查询字段")
    private String whe;
}
